//////////////////////////////////////////////////////////////////////////////
//    Copyright 2004-2008, SenseGraphics AB
//
//    This file is free software; you can redistribute it and/or modify
//    it under the terms of the GNU General Public License as published by
//    the Free Software Foundation; either version 2 of the License, or
//    (at your option) any later version.
//
//    This file is distributed in the hope that it will be useful,
//    but WITHOUT ANY WARRANTY; without even the implied warranty of
//    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
//    GNU General Public License for more details.
//
//    You should have received a copy of the GNU General Public License
//    along with this file; if not, write to the Free Software
//    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
//
//    A commercial license is also available. Please contact us at 
//    www.sensegraphics.com for more information.
//
//
//
/// \file UsefulNodes.h
/// \brief Base header file for UsefulNodes
///
//////////////////////////////////////////////////////////////////////////////


#ifndef __USEFULNODES_H__
#define __USEFULNODES_H__

// The following ifdef block is the standard way of creating macros
// which make exporting from a DLL simpler. All files within this DLL
// are compiled with the USEFULNODES_EXPORTS symbol defined on the command
// line. this symbol should not be defined on any project that uses
// this DLL. This way any other project whose source files include
// this file see USEFULNODES_API functions as being imported from a DLL,
// whereas this DLL sees symbols defined with this macro as being
// exported.
#ifdef WIN32
#ifdef USEFULNODES_EXPORTS
#define USEFULNODES_API __declspec(dllexport)
#else
#define USEFULNODES_API __declspec(dllimport)
#endif
#ifdef _MSC_VER
// disable dll-interface warnings for stl-exports 
#pragma warning( disable: 4251 )
#endif


#endif

#if defined(__APPLE__) && defined(__MACH__)
#define USEFULNODES_API
#endif

#if defined(__linux)
#define USEFULNODES_API
#endif

// Undef if PTLib is not available. Without this WebCameraTexture
// can not be used
#define HAVE_PTLIB

// Undef if glut is not available. Without this the Torus node can
// not be used.
#define HAVE_GLUT

#endif

